package conexion;

import util.HibernateUtil;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author chesp
 */
public class ManejadorConexion {
    
    public Session session;
    public boolean estaConectado;
    
    public ManejadorConexion() {
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            estaConectado = true;
        } catch (HibernateException he) {
            he.printStackTrace();
            estaConectado = false;
        }
    }
    
    public List ejecutaBusquedaHQL(String busqueda) {
        List resultados = null;
        try {
            Transaction transaccion = session.beginTransaction();
            Query q = session.createQuery(busqueda);
            resultados = q.list();
            transaccion.commit();
        } catch (HibernateException he) {
            he.printStackTrace();
        }
        return resultados;
    }
    
    public void cierraSesion() {
        session.close();
        estaConectado = false;
    }
    
}
